/*
 * @Description: 作业04的第3题
 * @Author: rendc
 * @Date: 2024-09-11 10:50:05
 * @LastEditors: rendc
 * @LastEditTime: 2024-09-11 11:28:20
 */
// 根据数组的第一个和第二个元素的大小关系确定最大值和次大值从，第三个元素开始依次比较和最大值、次大值的大小关系，确定是否需要改变最大值和次大值的值
public class Test03{
  public static void main(String[] args){
    // 声明并初始化一个数组
    // 回归测试
    // int[] arr = new int[]{1,2,3,4,20};
    // int[] arr = new int[]{11,9,12,11,20};
    // int[] arr = new int[]{11,9,12,11,20};
    int[] arr = new int[]{11,9,12,11,20};
    // int[] arr = new int[]{11,9,12,11,20};
    // 判断一下数组的长度
    if(arr.length < 2 || arr == null){
      System.out.println("数组长度不符合要求");
      return;
    }
    int max,secondMax;
    // 假定最大值和次大值
    if(arr[0] > arr[1]){
      max = arr[0];
      secondMax = arr[1];
    }else{
      max = arr[1];
      secondMax = arr[0]; 
    }
    // 遍历数组
    for(int i=2;i<arr.length;i++){
      if(arr[i] > max){
        // 如果遍历到的元素大于最大值 
        // 更新次大值
        secondMax = max;
        // 更新最大值
        max = arr[i];
      }else if(arr[i] > secondMax && arr[i] != max){
        // 如果元素的值大于次大值，并且不是最大值，那么更新次大值
        secondMax = arr[i];
      }
    }
    // 数组中所有元素都相等
    // 判断最大值和次大值是否相等
    if(max == secondMax){
      // 输出最大值 和 次大值
      System.out.println("max="+max);
      System.out.println("数组中所有元素大小相同，无次大值");
    }else{
      // 输出最大值 和 次大值
      System.out.println("max="+max);
      System.out.println("secondMax="+secondMax);
    }
    
  }
}